The present invention relates to a motion detection apparatus and motion detection method in which a moving object is detected from among motion images successively picked up for thereby detecting a shift speed, a shift direction and a position of the moving object.
Proposals have recently been made to develop a variety of vehicle vicinity monitoring systems into practical use for recognizing an area surrounding a motor vehicle, such as circumstances of a leading vehicle and a road conditions in front of the own vehicle during running of the vehicle.
Japanese Patent Application Laid-open No. 2003-67752 discloses a vehicle vicinity monitoring apparatus wherein a given image processing is carried on motion images (motion images in time series), successively picked by a camera, to recognize an area surrounding a motor vehicle. One of such image processing methods has heretofore been known as an analyzing technique utilizing an optical flow (a velocity field on an image representing relative motion between an observer of the camera and the moving object).
In general, methods of detecting the optical flow are classified broadly into the following categories:
(a) a correlation method that calculates a flow vector by using specified correlation quantities to determine areas resembling each other in brightness between frame images adjacent to one another in time series;
(b) a gradient method that calculates a flow vector by using a specified relation established between spatial and temporal changes in brightness of the respective images between frames images adjacent to each other in time series.
The former constructs correlation quantities such as a sum of squares of a difference and a sum of absolute of a difference described as:ΣΣ{l(x,y,t)−l(x+u,y+v,t+1)}2,ΣΣ|l(x,y,t)−l(x+u,y+v,t+1)|where l(x,y,t) represents a brightness on a reference block of a frame image at a certain time t; l(x+u,y+v,t+1) a brightness on a block in which a frame image at the next time t+1, based on the frame image that is split into small areas (called a “block” or “template”, which is a pixel group less than sub pixel in general practice).
Then, the set of variables (u,v) that minimizes these correlation quantities is calculated. The calculated value (u,v) is a shift speed of a moving object, that is, a flow vector, between the frame images adjacent in time series. This method is also called a block matching method.
The latter assumes that there is no difference between a brightness l(x, y, t) on a position (x, y) at a certain time t and a brightness l(x+δx, y+δy,t+δt) on a position (x+δx, y+δy) shifted from the position (x, y) by distances δx, δy at the next time t+δt, that is, the following relation:l(x,y,t)=l(x+δx,y+δy,t+δt),is satisfied. If δx, δy, δt are infinitesimal quantities, the optical flow constraint equation as a condition for the total difference of the function l is derived as follows:δl/δx·dx/dt+δl/δy·dy/dt+δl/δt=0(δl/δx,δl/δy,δl/δt)·(dx/dt,dy/dt,1)=0
Then, the flow vector
  (                    ⅆ        x                    ⅆ        t              ,                  ⅆ        y                    ⅆ        t              )is calculated by adding a constraint condition to this equation. The constraint condition generally includes a condition under which the flow vector smoothly and spatially varies.
Further, as the other technology for detecting a motion of a moving object, a motion-image processing device is known as disclosed in Japanese Patent Application Laid-open No. 2001-209804. In the motion-image processing device, an image input section retrieves a train of motion images, and a flow detecting section detects a flow vector of each pixel between an appropriate reference image and a current image from among the train of motion images retrieved by the flow detecting section. Then, a flow verifying section verifies a reliability of the flow vector in each pixel. When the reliability is high, a speed determining section measures a shift time for which an amount of shift in pixel for the relevant flow vector reaches a fixed amount, thereby outputting a shift speed of a moving object.